// util.inherits(constructor, superConstructor) 是一个实现对象间原型继承的函数。

var util = require('util');

function Base() {
	this.name = 'Base';
	this.base = 1991;
	
	this.sayHello = function() {
		console.log('Base hello, ' + this.name);
	};
}

// 原型
Base.prototype.showName = function() {
	console.log('prototype, name=' + this.name);
};

function Sub() {
	this.name = 'Sub';
}

// 原型继承
util.inherits(Sub, Base);

var objBase = new Base();
objBase.showName();
objBase.sayHello();
console.log(objBase);

var objSub = new Sub();
objSub.showName();
// TypeError: objSub.sayHello is not a function
//objSub.sayHello();
console.log(objSub);

console.log('EN.36');

/*
一个基础对象 Base 和一个继承自 Base 的 Sub，
Base 有三个在构造函数内定义的属性和一个原型中
定义的函数，通过util.inherits 实现继承。
*/